package com.ruoyi.system.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 患者基本信息对象 patients
 * 
 * @author ruoyi
 * @date 2025-06-25
 */
public class Patients extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 患者ID，主键自增长 */
    private Long patientId;

    /** 患者编号，唯一标识患者的业务编号 */
    @Excel(name = "患者编号，唯一标识患者的业务编号")
    private String patientNo;

    /** 患者姓名 */
    @Excel(name = "患者姓名")
    private String name;

    /** 患者性别：男/女/其他 */
    @Excel(name = "患者性别：男/女/其他")
    private String gender;

    /** 患者出生日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "患者出生日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date birthDate;

    /** 患者身份证号码，18位，唯一 */
    @Excel(name = "患者身份证号码，18位，唯一")
    private String idCard;

    /** 患者联系电话 */
    @Excel(name = "患者联系电话")
    private String phone;

    /** 患者电子邮箱 */
    @Excel(name = "患者电子邮箱")
    private String email;

    /** 患者住址 */
    @Excel(name = "患者住址")
    private String address;

    /** 患者血型：A/B/AB/O/未知 */
    @Excel(name = "患者血型：A/B/AB/O/未知")
    private String bloodType;

    /** 患者过敏史，文本格式存储 */
    @Excel(name = "患者过敏史，文本格式存储")
    private String allergyHistory;

    public void setPatientId(Long patientId) 
    {
        this.patientId = patientId;
    }

    public Long getPatientId() 
    {
        return patientId;
    }

    public void setPatientNo(String patientNo) 
    {
        this.patientNo = patientNo;
    }

    public String getPatientNo() 
    {
        return patientNo;
    }

    public void setName(String name) 
    {
        this.name = name;
    }

    public String getName() 
    {
        return name;
    }

    public void setGender(String gender) 
    {
        this.gender = gender;
    }

    public String getGender() 
    {
        return gender;
    }

    public void setBirthDate(Date birthDate) 
    {
        this.birthDate = birthDate;
    }

    public Date getBirthDate() 
    {
        return birthDate;
    }

    public void setIdCard(String idCard) 
    {
        this.idCard = idCard;
    }

    public String getIdCard() 
    {
        return idCard;
    }

    public void setPhone(String phone) 
    {
        this.phone = phone;
    }

    public String getPhone() 
    {
        return phone;
    }

    public void setEmail(String email) 
    {
        this.email = email;
    }

    public String getEmail() 
    {
        return email;
    }

    public void setAddress(String address) 
    {
        this.address = address;
    }

    public String getAddress() 
    {
        return address;
    }

    public void setBloodType(String bloodType) 
    {
        this.bloodType = bloodType;
    }

    public String getBloodType() 
    {
        return bloodType;
    }

    public void setAllergyHistory(String allergyHistory) 
    {
        this.allergyHistory = allergyHistory;
    }

    public String getAllergyHistory() 
    {
        return allergyHistory;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("patientId", getPatientId())
            .append("patientNo", getPatientNo())
            .append("name", getName())
            .append("gender", getGender())
            .append("birthDate", getBirthDate())
            .append("idCard", getIdCard())
            .append("phone", getPhone())
            .append("email", getEmail())
            .append("address", getAddress())
            .append("bloodType", getBloodType())
            .append("allergyHistory", getAllergyHistory())
            .append("createTime", getCreateTime())
            .append("updateTime", getUpdateTime())
            .toString();
    }
}
